iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

在 JavaScript 中,高階函式(Higher-Order Function)指的是一個可以接受其他函式作為參數,或是將函式作為其返回值的函式。這種函式的靈活性使得我們可以以更抽象的方式處理邏輯,特別適用於處理像陣列這類的資料結構。

常見的高階函式有:mapfilterreduce 等。

map 函式
map 是一個高階函式,它接受一個回呼函式作為參數,並對陣列中的每個元素套用該函式,然後返回一個新陣列。

const numbers = [1, 2, 3, 4, 5];

// 高階函式 `map` 接受一個回呼函式作為參數
const doubled = numbers.map(function(number) {
  return number * 2;
});

console.log(doubled); // 輸出: [2, 4, 6, 8, 10]

filter 函式
filter 是另一個高階函式,它接受一個回呼函式作為參數,根據回呼函式的邏輯來篩選出符合條件的元素,並返回一個新陣列。

const numbers = [1, 2, 3, 4, 5];

// 高階函式 `filter` 接受一個回呼函式作為參數
const evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0;
});

console.log(evenNumbers); // 輸出: [2, 4]

延伸議題:
React 中,用於組件處理,稱為高階元件(Higher-Order Component,HOC)。高階元件是一種設計模式,類似於高階函式,它接受一個元件並返回一個新元件。

高階元件(HOC)的概念
高階元件是一個函式,它接收一個組件作為輸入,並返回一個增強或改變後的新組件。HOC 的主要用途是重用元件邏輯,而不影響元件本身的呈現邏輯。這在需要在多個組件中共享相同邏輯的情況下特別有用。

HOC 的基本結構
HOC 一般以一個函式形式出現,這個函式接受一個組件作為參數,並返回一個新的包裝組件。

HOC 的應用場景
重用元件邏輯:當你有多個元件需要共享一些通用的邏輯時(例如驗證、授權、日誌記錄等),可以將這些邏輯抽象到一個 HOC 中。

條件渲染:你可以用 HOC 來決定是否渲染某個組件,或在特定條件下修改其行為。

添加樣式或功能:HOC 可以用來注入特定的樣式或功能到元件中,而不需要改動元件本身。


上一篇
[Day 19] 何謂 AJAX
下一篇
[Day 21] 一個HTTP請求包含甚麼內容
系列文
讀書筆記&心得-看完這本就會懂!帶你無痛提升JavaScript面試力:精選55道前端工程師的核心問題 × 求職加分模擬試題解析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言